/*
 * 작성자 : Jint
 * Date : 140417
 * 내용 : instance class test
 * 
 * JFrame 을 상속 받으시오.
 * 필드에 JButton 을 btn1, btn2로 추가
 * 생성자 안에서
 * 		btn1, btn2를 생성
 * 		JFrame의 타이틀을 "Instance Class Test"로 set
 * 		JFrame의 setLayout 을 사용하여 배치관리자를  null로 설정.
 * btn1의 배치를 100, 50, 90, 30 으로 설정.
 * btn2의 배치를 300, 50, 90, 30 으로 설정.
 * JFrame에 btn1, btn2를 추가하시오.
 */

package JavaCore;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;

public class InstanceClassTest2 extends JFrame{ // javax.swing.JFrame 으로 상속 해도 되는데, 더러워짐.
	//import 하기 싫으면
	//javax.swing.JButton btn1; 이라고 해도 된다. 근데 코드 더러워짐.
	
	int click=0;
	

	public InstanceClassTest2(){
		JButton btn1;
		JButton btn2;
		btn1 = new JButton("btn1");
		btn2 = new JButton("btn2");
		setTitle("Instance Class Test");
		setLayout(null);
		setVisible(true);
		add(btn1);
		add(btn2);
		setBounds(100, 100, 500, 500);		
		btn1.setBounds(100, 50, 90, 30);
		btn2.setBounds(300, 50, 90, 30);
		
		//이벤트를 위한 event 객체 생성.
		Event event = new Event(btn1, btn2);
		// 버튼에 이벤트 핸들러 추가
		btn1.addActionListener(event);
		btn2.addActionListener(event);
		
		
	}
	
	class Event implements ActionListener{// Inner class, Instance type.
		
		JButton btn1,btn2;
		public Event(JButton b1, JButton b2){
			this.btn1 = b1;
			this.btn2 = b2;
		}

		@Override
		public void actionPerformed(ActionEvent e) {
			click++;
			if(e.getSource() == btn1){
				JOptionPane.showMessageDialog(null, "버튼1이 클릭됨...");
				btn2.setText("button 2");
			}else if(e.getSource() == btn2){
				JOptionPane.showMessageDialog(null, "버튼2이 클릭됨...");
			}			
			btn2.setText("Click" + click);			
		}		
	}
	
	
	
	
	public static void main(String[] args) {
		InstanceClassTest2 ic = new InstanceClassTest2();
	}	
}
